package org.ptkparty.shared.service;

import java.util.List;

import org.ptkparty.client.place.PlayerDto;
import org.ptkparty.shared.dto.GameDto;
import org.ptkparty.shared.dto.ProfilDto;
import org.ptkparty.shared.dto.ResultDto;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

@RemoteServiceRelativePath("ptkservice")
public interface PTKService extends RemoteService {

	PlayerDto logUser() throws Exception;

	List<ResultDto> getResults(String championshipId) throws Exception;

	List<GameDto> getGames(String value) throws Exception;

	List<GameDto> getFinishedGames(String value) throws Exception;

	Boolean logUserOnGplus(String token) throws Exception;

	boolean generateGames(String championship, String boulodrome, List<String> players) throws Exception;

	boolean logUserOnFacebook(String clientToken) throws Exception;

	void deleteGame(String id);

	ProfilDto getProfileForCurrentPlayer(String player, String currentChampionship);

	PlayerDto getUser(String player) throws Exception;

	boolean regenerateResults(String currentChampionship) throws Exception;

}
